home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / UNIX.ZIP / VMSCRACK / MYTYPES.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-11-14  |  1.4 KB  |  77 lines

  1. #ifndef __MYTYPES__
  2. #define __MYTYPES__
  3.  
  4. #include <limits.h>
  5.  
  6. /* define byte (8 bit) */
  7.  
  8. #define BYTE_MAX 0xFFU
  9.  
  10. #if UCHAR_MAX==BYTE_MAX
  11.   typedef unsigned char byte;
  12. #elif USHRT_MAX==BYTE_MAX
  13.   typedef unsigned short byte;
  14. #elif UINT_MAX==BYTE_MAX
  15.   typedef unsigned int byte;
  16. #elif ULONG_MAX==BYTE_MAX
  17.   typedef unsigned long byte;
  18. #else
  19. # error Error byte not defined
  20. #endif
  21.  
  22. /* define word (16 bit) */
  23.  
  24. #define WORD_MAX 0xFFFFU
  25.  
  26. #if UCHAR_MAX==WORD_MAX
  27.   typedef unsigned char word;
  28. #elif USHRT_MAX==WORD_MAX
  29.   typedef unsigned short word;
  30. #elif UINT_MAX==WORD_MAX
  31.   typedef unsigned int word;
  32. #elif ULONG_MAX==WORD_MAX
  33.   typedef unsigned long word;
  34. #else
  35. # error Error word not defined
  36. #endif
  37.  
  38. /* define dword (32 bit) */
  39.  
  40. #define DWORD_MAX 0xFFFFFFFFUL
  41.  
  42. #if UCHAR_MAX==DWORD_MAX
  43.   typedef unsigned char dword;
  44. #elif USHRT_MAX==DWORD_MAX
  45.   typedef unsigned short dword;
  46. #elif UINT_MAX==DWORD_MAX
  47.   typedef unsigned int dword;
  48. #elif ULONG_MAX==DWORD_MAX
  49.   typedef unsigned long dword;
  50. #else
  51. # error Error dword not defined
  52. #endif
  53.  
  54. typedef struct {
  55.  
  56.           dword d_low;
  57.           dword d_high;
  58.  
  59.         } qword;
  60.  
  61. typedef struct {
  62.  
  63.           word w_low;
  64.           word w_high;
  65.  
  66.         } dword_t;
  67.  
  68. typedef struct {
  69.  
  70.           word  w0;
  71.           dword l_mid;
  72.           word  w3;
  73.  
  74.         } qword_t;
  75.  
  76. #endif /* __MYTYPES__ */
  77.